void main(List<String> args) {
  test(bar);
  // 匿名函数
  test(() {
    print("匿名函数调用");
  });
  // 箭头函数 条件，函数体只有一行代码
  test(() => print("hahhaha"));
  tess((num1, num2) {
    return num1 + num2;
  });
  tesss((num1, num2) {
    print("tesss");
    return num1 + num2;
  });
}

void test(Function fun) {
  fun();
}

void bar() {
  print("halsdfa");
}

// 传入有返回值的函数
void tess(int foo(int num1, int num2)) {
  foo(1, 2);
}

// 优化做定义
typedef Ca = int Function(int num1, int num2);
void tesss(Ca ca) {
  ca(20, 30);
}
